<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>bqrez</title>
    <link rel="stylesheet" type="text/css" href="csound.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <link rel="home" href="index.html" title="The Canonical Csound Reference Manual" />
    <link rel="up" href="OpcodesTop.html" title="Orchestra Opcodes and Operators" />
    <link rel="prev" href="birnd.html" title="birnd" />
    <link rel="next" href="butbp.html" title="butbp" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">bqrez</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="birnd.html">Prev</a> </td>
          <th width="60%" align="center">Orchestra Opcodes and Operators</th>
          <td width="20%" align="right"> <a accesskey="n" href="butbp.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="refentry">
      <a id="bqrez"></a>
      <div class="titlepage"></div>
      <a id="IndexBqrez" class="indexterm"></a>
      <div class="refnamediv">
        <h2>
          <span class="refentrytitle">bqrez</span>
        </h2>
        <p>bqrez — 
      A second-order multi-mode filter.
          </p>
      </div>
      <div class="refsect1">
        <a id="idp92298464"></a>
        <h2>Description</h2>
        <p>
      A second-order multi-mode filter.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp92361376"></a>
        <h2>Syntax</h2>
        <pre class="synopsis">ares <span class="command"><strong>bqrez</strong></span> asig, xfco, xres [, imode] [, iskip]</pre>
      </div>
      <div class="refsect1">
        <a id="idp92363584"></a>
        <h2>Initialization</h2>
        <p>
      <span class="emphasis"><em>imode</em></span> (optional, default=0) -- The mode of the filter. Choose from one of the following:
      </p>
        <div class="itemizedlist">
          <ul class="itemizedlist" style="list-style-type: disc; ">
            <li class="listitem">
              <p>0 = low-pass (default)</p>
            </li>
            <li class="listitem">
              <p>1 = high-pass</p>
            </li>
            <li class="listitem">
              <p>2 = band-pass</p>
            </li>
            <li class="listitem">
              <p>3 = band-reject</p>
            </li>
            <li class="listitem">
              <p>4 = all-pass</p>
            </li>
          </ul>
        </div>
        <p>
    </p>
        <p>
      <span class="emphasis"><em>iskip</em></span> (optional, default=0) -- if non zero
    skip the initialisation of the filter. (New in Csound version
    4.23f13 and 5.0)
    </p>
      </div>
      <div class="refsect1">
        <a id="idp92369536"></a>
        <h2>Performance</h2>
        <p>
      <span class="emphasis"><em>ares</em></span> -- output audio signal.
    </p>
        <p>
      <span class="emphasis"><em>asig</em></span> -- input audio signal.
    </p>
        <p>
      <span class="emphasis"><em>xfco</em></span> -- filter cut-off frequency in Hz. May be i-time, k-rate, a-rate.
    </p>
        <p>
      <span class="emphasis"><em>xres</em></span> -- amount of resonance. Values of 1 to 100 are typical. Resonance should be one or greater. A value of 100 gives a 20dB gain at the cutoff frequency. May be i-time, k-rate, a-rate.
    </p>
        <p>
      All filter modes can be frequency modulated as well as the resonance can also be frequency modulated.
    </p>
        <p>
      <span class="emphasis"><em>bqrez</em></span> is a resonant low-pass filter created using the Laplace s-domain equations for low-pass, high-pass, and band-pass filters normalized to a frequency. The bi-linear transform was used which contains a frequency transform constant from s-domain to z-domain to exactly match the frequencies together. Alot of trigonometric identities where used to simplify the calculation. It is very stable across the working frequency range up to the Nyquist frequency.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp92376784"></a>
        <h2>Examples</h2>
        <p>
      Here is an example of the bqrez opcode. It uses the file <a class="ulink" href="examples/bqrez.csd" target="_top"><em class="citetitle">bqrez.csd</em></a>.

      </p>
        <div class="example">
          <a id="idp92378560"></a>
          <p class="title">
            <strong>Example 93. Example of the bqrez opcode borrowed from the <span class="quote">“<span class="quote">rezzy</span>”</span> opcode in Kevin Conder's manual.</strong>
          </p>
          <div class="example-contents">
            <p>See the sections <a class="link" href="UsingRealTime.html" title="Real-Time Audio"><em class="citetitle">Real-time Audio</em></a> and <a class="link" href="CommandFlags.html" title="Csound command line"><em class="citetitle">Command Line Flags</em></a> for more information on using command line flags.</p>
            <pre class="programlisting">
<span class="csdtag">&lt;CsoundSynthesizer&gt;</span>
<span class="csdtag">&lt;CsOptions&gt;</span>
<span class="comment">; Select audio/midi flags here according to platform</span>
-odac     <span class="comment">;;;RT audio out</span>
<span class="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</span>
<span class="comment">; For Non-realtime ouput leave only the line below:</span>
<span class="comment">; -o bqrez.wav -W ;;; for file output any platform</span>
<span class="csdtag">&lt;/CsOptions&gt;</span>
<span class="csdtag">&lt;CsInstruments&gt;</span>

<span class="ohdr">sr</span> <span class="op">=</span> 44100
<span class="ohdr">ksmps</span> <span class="op">=</span> 32
<span class="ohdr">nchnls</span> <span class="op">=</span> 2
<span class="ohdr">0dbfs</span> <span class="op">=</span> 1

<span class="oblock">instr</span> 1			<span class="comment">;sawtooth waveform.</span>

kfco  <span class="opc">line</span> 200, p3, 2000<span class="comment">;filter-cutoff frequency from .2 to 5 KHz.</span>
kres  <span class="op">=</span> p4		<span class="comment">;resonance</span>
imode <span class="op">=</span> p5		<span class="comment">;mode</span>
asig	<span class="opc">vco</span> 0.2, 220, 1
afilt	<span class="opc">bqrez</span> asig, kfco, kres, imode
asig	<span class="opc">balance</span> afilt, asig
	<span class="opc">outs</span> asig, asig

<span class="oblock">endin</span>

<span class="csdtag">&lt;/CsInstruments&gt;</span>
<span class="csdtag">&lt;CsScore&gt;</span>
<span class="comment">;sine wave</span>
<span class="stamnt">f</span> 1 0 16384 10 1

<span class="stamnt">i</span> 1 0 3 1 0		<span class="comment">; low pass</span>
<span class="stamnt">i</span> 1 + 3 30 0		<span class="comment">; low pass</span>
<span class="stamnt">i</span> 1 + 3 1 1		<span class="comment">; high pass</span>
<span class="stamnt">i</span> 1 + 3 30 1		<span class="comment">; high pass</span>

<span class="stamnt">e</span>

<span class="csdtag">&lt;/CsScore&gt;</span>
<span class="csdtag">&lt;/CsoundSynthesizer&gt;</span>
</pre>
          </div>
        </div>
        <p><br class="example-break" />
    </p>
      </div>
      <div class="refsect1">
        <a id="idp92383360"></a>
        <h2>See Also</h2>
        <p>
      <a class="link" href="biquad.html" title="biquad"><em class="citetitle">biquad</em></a>, 
      <a class="link" href="moogvcf.html" title="moogvcf"><em class="citetitle">moogvcf</em></a>, 
      <a class="link" href="rezzy.html" title="rezzy"><em class="citetitle">rezzy</em></a>
    </p>
      </div>
      <div class="refsect1">
        <a id="idp92387392"></a>
        <h2>Credits</h2>
        <p>
      </p>
        <table border="0" summary="Simple list" class="simplelist">
          <tr>
            <td>Author: Matt Gerassimoff</td>
          </tr>
          <tr>
            <td>New in version 4.32</td>
          </tr>
          <tr>
            <td>Written in November 2002.</td>
          </tr>
        </table>
        <p>
    </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="birnd.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="OpcodesTop.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="butbp.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">birnd </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> butbp</td>
        </tr>
      </table>
    </div>
  </body>
</html>
